package br.com.felipe.agendamento.entity;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Transient;
import javax.xml.bind.annotation.XmlRootElement;

@Entity
@Table(name="consultas")
@XmlRootElement
public class ConsultaDto implements Serializable {

	@Transient
	private static final long serialVersionUID = 3717487200519333247L;

	@Id @GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="id_horario_consultas")
	private Integer idConsulta;

	@OneToOne
	@JoinColumn(name="fk_consultario")
	private ConsultorioDto consultorioDto;

	@OneToOne
	@JoinColumn(name="fk_paciente")
	private PacienteDto pacienteDto;

	@OneToOne
	@JoinColumn(name="fk_medico")
	private MedicoDto medicoDto;

	@Column(name="data")
	@Temporal(TemporalType.DATE)
	private Date dateConsulta;

	@Column(name="hora")
	@Temporal(TemporalType.TIME)
	private Date horaConsulta;

	@Column(name="especialidade")
	private String especialidade;

	@Column(name="preco_consulta")
	private Double precoConsulta;

	public Integer getIdConsulta() {
		return idConsulta;
	}

	public void setIdConsulta(Integer idConsulta) {
		this.idConsulta = idConsulta;
	}

	public ConsultorioDto getConsultorioDto() {
		return consultorioDto;
	}

	public void setConsultorioDto(ConsultorioDto consultorioDto) {
		this.consultorioDto = consultorioDto;
	}

	public PacienteDto getPacienteDto() {
		return pacienteDto;
	}

	public void setPacienteDto(PacienteDto pacienteDto) {
		this.pacienteDto = pacienteDto;
	}

	public MedicoDto getMedicoDto() {
		return medicoDto;
	}

	public void setMedicoDto(MedicoDto medicoDto) {
		this.medicoDto = medicoDto;
	}

	public Date getDateConsulta() {
		return dateConsulta;
	}

	public void setDateConsulta(Date dateConsulta) {
		this.dateConsulta = dateConsulta;
	}

	public Date getHoraConsulta() {
		return horaConsulta;
	}

	public void setHoraConsulta(Date horaConsulta) {
		this.horaConsulta = horaConsulta;
	}

	public String getEspecialidade() {
		return especialidade;
	}

	public void setEspecialidade(String especialidade) {
		this.especialidade = especialidade;
	}

	public Double getPrecoConsulta() {
		return precoConsulta;
	}

	public void setPrecoConsulta(Double precoConsulta) {
		this.precoConsulta = precoConsulta;
	}

}
